New applications and user requirements are driving the need for a network architecture that is both flexible and capable of differentiating between the needs of different applications and users. Different applications and users are increasingly demanding different quality of service (QoS) and network usage rates. The current Internet and most private corporate networks, however, offer best-effort service to traffic. To address these new demands, the Internet Engineering Task Force (IETF) has been looking at a number of architectural enhancements that will enable networks to provide service differentiation based on application and user needs. One of these efforts has resulted in the differentiated services (DiffServ) architecture.
In the DiffServ architecture, an edge device (gateway, router, switch, server, etc.) would classify/mark packets into several behaviour aggregates according to their diverse QoS requirements such as bandwidth, delay, and packet drop precedence. A DiffServ domain refers to a contiguous set of nodes operating with a common set of service provisioning policies and per-hop-behaviours (PHB) definitions. Per-domain services are realized by traffic conditioning at the edge and simple differentiated forwarding at the core of the network. Packets are marked with the appropriate DiffServ codepoint (DSCP) at the edge of the network and within the core of the network, the network nodes (routers, switches, etc.) simply forward packets based on the PHB associated with the DSCP. An end-to-end differentiated service is obtained by concatenation of per-DiffServ domain services. The underlying goal of the DiffServ architecture is to address the scalability issue regarding per-flow service differentiation in the core of the network. In DiffServ, the core network elements do not necessarily have to implement complex resource reservation, scheduling, processing and classification mechanisms in addition to maintaining state information for each individual traffic flow. The architecture allows network designers to push most of the state and forwarding complexity to the edge of the network.
The IETF decided to specify particular forwarding behaviours (the PHB) rather than standardizing services. This is to allow service providers the freedom to construct services that meet their customers' needs. The IETF has currently standardized two PHB groups, namely, Expedited Forwarding (EF) PHB and the Assured Forwarding (AF) PHB. Packets marked for the EF PHB receive a premium service with low loss, low latency, low jitter, and guaranteed bandwidth end-to-end. The AF PHB, on the other hand, specifies four independent classes of forwarding (each of which can be assigned a certain amount of forwarding resources, i.e., buffer space and bandwidth) and three levels of drop precedence per class. The three drop precedence levels are also referred in terms of color (in the order of high to low priority or precedence) as green, yellow, and red. During network congestion, an AF-compliant DiffServ node drops low precedence (red) packets in preference to higher precedence (green, yellow) packets.
With the AF PHB, packets entering the network are marked with the goal of assigning a low drop probability to the traffic that fits within the subscribed profile and a higher drop probability to the excess traffic. During congestion at a node, packets marked with higher drop probability are preferentially dropped in order to make buffer room for packets marked with the lowest drop probability (which may be dropped only in the case of severe congestion). For these reasons, the packet drop mechanism at the node plays an important role in the quality of service offered to the user.
Active queue management (AQM) has been proposed as a means to provide some congestion control as well as some notion of QoS to users. One important class of AQM is based on randomized packet dropping or marking. With this form of AQM, a network node drops each arriving packet with a certain probability, where the exact probability is a function of the average queue size (or any suitable indicator of network congestion such as rate mismatch at a node). With AQM, dropping a packet is a way of signalling congestion to adaptive traffic sources such as those running transport protocols like the Transmission Control Protocol (TCP). By dropping a packet, the node sends an implicit indication to the traffic source that congestion is experienced at some point along the end-to-end path to the destination. The traffic source is expected to respond to this indication by reducing its transmission rate so that the network node buffer does not overflow. An important benefit of AQM is that it avoids the global synchronization of many traffic sources decreasing and increasing their window at the same time. The random early detection (RED) algorithm is a well known example of an AQM algorithm.
The difficulty in configuring or tuning the RED parameters has resulted in the need for development of alternatives to RED. In view of the foregoing, it would be desirable to provide a technique for network queue management which overcomes the above-described inadequacies and shortcomings by providing a mechanism which does not react to short-term burst traffic and allows each precedence level to be addressed differently, while providing lower parameter configuration complexity and greater ease of configuration over a wide range of network conditions.